//
//  LoginDelegate.swift
//  imprint
//
//  Created by 小柠檬🍋 on 2025/1/11.
//

import Foundation
import SwiftUI

class PushDelegate<T: PushProtocol>: PushProtocol {
    
    
    private let instance : T
    
    init(instance: T) {
        self.instance = instance
    }
    
    func initSDK() {
        instance.initSDK()
    }
    
    func setAccount(account: String?) {
        instance.setAccount(account: account)
    }
    
    func getAccount() -> String {
        return instance.getAccount()
    }
    
    
    func sendSchedule(taskName: String, msgId: String, title: String, content: String, time: Int64) async throws {
        try await instance.sendSchedule(taskName: taskName, msgId: msgId, title: title, content: content, time: time)
    }
    
    func deletSchedule(msgId: String) async throws {
        try await instance.deletSchedule(msgId: msgId)
    }
    
    
}
